package com.common.bean;

import java.util.HashMap;

/**
 * EventBus传递信息结构体
 * 
 * @ClassName:EventBusBean
 * @Function: TODO ADD FUNCTION
 * @Reason: TODO ADD REASON
 * 
 * @author HuangYK
 * @version
 * @since Ver 1.1
 * @创建时间 2014-5-4 上午11:40:44
 * 
 * @see
 */
public class EventBusBean {
	
	/**操作类型*/
	private String mStrAction;

	/** 字符串类型的Key */
	private String mStrKey;

	/** int类型的key */
	private int mIntKey;

	/** 传递的参数 */
	private Object mObject;
	
	/**传递的参数*/
	private HashMap<String, Object> mObjectMap = new HashMap<String, Object>();
	
	/**
	 * 获取操作类型
	 * 
	 * <br>Created 2014-8-8 上午11:19:37
	 * @return {@link #mStrAction}
	 * @author        :  HuangYK
	 */
	public String getStrAction(){
		return mStrAction;
	}
	
	/**
	 * 设置操作类型
	 * 
	 * <br>Created 2014-8-8 上午11:20:24
	 * @param strAction 操作类型
	 * @author        :  HuangYK
	 */
	public void setStrAction(String strAction){
		mStrAction = strAction;
	}

	/**
	 * 获取字符串类型的Key
	 * 
	 * @函数名称 :getStrKey
	 * @brief
	 * @see
	 * @since Ver 1.1
	 * @return {@link #mStrKey}
	 * @作者 : HuangYK
	 * @创建时间 : 2014-5-4上午11:42:13
	 */
	public String getStrKey() {
		return mStrKey;
	}

	/**
	 * 设置字符串类型的Key
	 * 
	 * @函数名称 :setStrKey
	 * @brief
	 * @see
	 * @since Ver 1.1
	 * @param strKey
	 *            字符串类型的Key
	 * @作者 : HuangYK
	 * @创建时间 : 2014-5-4上午11:42:35
	 */
	public void setStrKey(String strKey) {
		this.mStrKey = strKey;
	}

	/**
	 * 获取int类型的Key
	 * 
	 * @函数名称 :getIntKey
	 * @brief
	 * @see
	 * @since Ver 1.1
	 * @return {@link #mIntKey}
	 * @作者 : HuangYK
	 * @创建时间 : 2014-5-4上午11:43:01
	 */
	public int getIntKey() {
		return mIntKey;
	}

	/**
	 * 设置int类型的Key
	 * 
	 * @函数名称 :setIntKey
	 * @brief
	 * @see
	 * @since Ver 1.1
	 * @param intKey
	 *            int类型的Key
	 * @作者 : HuangYK
	 * @创建时间 : 2014-5-4上午11:43:40
	 */
	public void setIntKey(int intKey) {
		this.mIntKey = intKey;
	}

	/**
	 * 获取传递的参数
	 * 
	 * @函数名称 :getObject
	 * @brief
	 * @see
	 * @since Ver 1.1
	 * @return {@link #mObject}
	 * @作者 : HuangYK
	 * @创建时间 : 2014-5-4上午11:43:58
	 */
	public Object getObject() {
		return mObject;
	}

	/**
	 * 设置传递的参数
	 * 
	 * @函数名称 :setObject
	 * @brief
	 * @see
	 * @since Ver 1.1
	 * @param object
	 *            传递的参数
	 * @作者 : HuangYK
	 * @创建时间 : 2014-5-4上午11:44:14
	 */
	public void setObject(Object object) {
		this.mObject = object;
	}
	
	/**
	 * 判断是否存在某个Key所对应的值
	 * 
	 * <br>Created 2014-8-8 上午11:29:30
	 * @param key 关键字
	 * @return true：存在，false：不存在
	 * @author        :  HuangYK
	 */
	public boolean hasValue(String key){
		return mObjectMap.containsKey(key);
	}
	
	/**
	 * 根据key获取对应的数据
	 * 
	 * <br>Created 2014-8-8 上午11:30:39
	 * @param key 关键字
	 * @return 对应的数据，如果不存在则返回null
	 * @author        :  HuangYK
	 */
	public Object getValue(String key){
		return mObjectMap.get(key);
	}
	
	/**
	 * 添加一个新的数据（注意：如果添加相同的两个关键字值，会覆盖）
	 * 
	 * <br>Created 2014-8-8 上午11:31:32
	 * @param key 关键字
	 * @param value 关键字对应的数据
	 * @author        :  HuangYK
	 */
	public void addValue(String key, Object value){
		mObjectMap.put(key, value);
	}
}
